// Generated from antlr/tscn.g4 by ANTLR 4.9.0-SNAPSHOT


import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";

import { FileContext } from "./tscnParser";
import { SectionContext } from "./tscnParser";
import { Section_headerContext } from "./tscnParser";
import { AttributeContext } from "./tscnParser";
import { Property_Context } from "./tscnParser";
import { InstanceContext } from "./tscnParser";
import { DictionaryContext } from "./tscnParser";
import { PairContext } from "./tscnParser";
import { ArrayContext } from "./tscnParser";
import { ValueContext } from "./tscnParser";


/**
 * This interface defines a complete listener for a parse tree produced by
 * `tscnParser`.
 */
export interface tscnListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by `tscnParser.file`.
	 * @param ctx the parse tree
	 */
	enterFile?: (ctx: FileContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.file`.
	 * @param ctx the parse tree
	 */
	exitFile?: (ctx: FileContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.section`.
	 * @param ctx the parse tree
	 */
	enterSection?: (ctx: SectionContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.section`.
	 * @param ctx the parse tree
	 */
	exitSection?: (ctx: SectionContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.section_header`.
	 * @param ctx the parse tree
	 */
	enterSection_header?: (ctx: Section_headerContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.section_header`.
	 * @param ctx the parse tree
	 */
	exitSection_header?: (ctx: Section_headerContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.attribute`.
	 * @param ctx the parse tree
	 */
	enterAttribute?: (ctx: AttributeContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.attribute`.
	 * @param ctx the parse tree
	 */
	exitAttribute?: (ctx: AttributeContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.property_`.
	 * @param ctx the parse tree
	 */
	enterProperty_?: (ctx: Property_Context) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.property_`.
	 * @param ctx the parse tree
	 */
	exitProperty_?: (ctx: Property_Context) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.instance`.
	 * @param ctx the parse tree
	 */
	enterInstance?: (ctx: InstanceContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.instance`.
	 * @param ctx the parse tree
	 */
	exitInstance?: (ctx: InstanceContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.dictionary`.
	 * @param ctx the parse tree
	 */
	enterDictionary?: (ctx: DictionaryContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.dictionary`.
	 * @param ctx the parse tree
	 */
	exitDictionary?: (ctx: DictionaryContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.pair`.
	 * @param ctx the parse tree
	 */
	enterPair?: (ctx: PairContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.pair`.
	 * @param ctx the parse tree
	 */
	exitPair?: (ctx: PairContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.array`.
	 * @param ctx the parse tree
	 */
	enterArray?: (ctx: ArrayContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.array`.
	 * @param ctx the parse tree
	 */
	exitArray?: (ctx: ArrayContext) => void;

	/**
	 * Enter a parse tree produced by `tscnParser.value`.
	 * @param ctx the parse tree
	 */
	enterValue?: (ctx: ValueContext) => void;
	/**
	 * Exit a parse tree produced by `tscnParser.value`.
	 * @param ctx the parse tree
	 */
	exitValue?: (ctx: ValueContext) => void;
}

